package com.ruoyi.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 电子发票对象 member_invoice
 *
 * @author dongdong
 * @date 2025-10-11
 */
public class MemberInvoice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long memberId;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderNo;

    /** 发票申请单号 */
    @Excel(name = "发票申请单号")
    private String applyId;

    /** 抬头名称 */
    @Excel(name = "抬头名称")
    private String title;

    /** 开户银行 */
    @Excel(name = "开户银行")
    private String bankName;

    /** 银行账号 */
    @Excel(name = "银行账号")
    private String bankAccount;

    /** 单位地址 */
    @Excel(name = "单位地址")
    private String companyAddress;

    /** 税号 */
    @Excel(name = "税号")
    private String taxNumber;

    /** 电话号码 */
    @Excel(name = "电话号码")
    private String telephone;

    /** 开票金额 */
    @Excel(name = "开票金额")
    private BigDecimal amount;

    /** 抬头类型（0单位，1个人） */
    @Excel(name = "抬头类型（0单位，1个人） ")
    private Integer invoiceType;

    /** 发票状态（1待开票，2已开票） */
    @Excel(name = "发票状态（1待开票，2已开票）")
    private Integer status;

    /** 开票渠道（1微信，2支付宝） */
    @Excel(name = "开票渠道（1微信，2支付宝）")
    private Integer channel;

    /** 开票业务（1停车缴费，2停车卡） */
    @Excel(name = "开票业务（1停车缴费，2停车卡）")
    private Integer invoiceBus;

    /** 发票地址 */
    @Excel(name = "发票地址")
    private String invoiceUrl;

    /** 删除标志（0存在 1删除） */
    private String delFlag;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setMemberId(Long memberId)
    {
        this.memberId = memberId;
    }

    public Long getMemberId()
    {
        return memberId;
    }
    public void setOrderNo(String orderNo)
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo()
    {
        return orderNo;
    }
    public void setApplyId(String applyId)
    {
        this.applyId = applyId;
    }

    public String getApplyId()
    {
        return applyId;
    }
    public void setTitle(String title)
    {
        this.title = title;
    }

    public String getTitle()
    {
        return title;
    }
    public void setBankName(String bankName)
    {
        this.bankName = bankName;
    }

    public String getBankName()
    {
        return bankName;
    }
    public void setBankAccount(String bankAccount)
    {
        this.bankAccount = bankAccount;
    }

    public String getBankAccount()
    {
        return bankAccount;
    }
    public void setCompanyAddress(String companyAddress)
    {
        this.companyAddress = companyAddress;
    }

    public String getCompanyAddress()
    {
        return companyAddress;
    }
    public void setTaxNumber(String taxNumber)
    {
        this.taxNumber = taxNumber;
    }

    public String getTaxNumber()
    {
        return taxNumber;
    }
    public void setTelephone(String telephone)
    {
        this.telephone = telephone;
    }

    public String getTelephone()
    {
        return telephone;
    }
    public void setAmount(BigDecimal amount)
    {
        this.amount = amount;
    }

    public BigDecimal getAmount()
    {
        return amount;
    }
    public void setInvoiceType(Integer invoiceType)
    {
        this.invoiceType = invoiceType;
    }

    public Integer getInvoiceType()
    {
        return invoiceType;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setChannel(Integer channel)
    {
        this.channel = channel;
    }

    public Integer getChannel()
    {
        return channel;
    }
    public void setInvoiceBus(Integer invoiceBus)
    {
        this.invoiceBus = invoiceBus;
    }

    public Integer getInvoiceBus()
    {
        return invoiceBus;
    }
    public void setInvoiceUrl(String invoiceUrl)
    {
        this.invoiceUrl = invoiceUrl;
    }

    public String getInvoiceUrl()
    {
        return invoiceUrl;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("memberId", getMemberId())
                .append("orderNo", getOrderNo())
                .append("applyId", getApplyId())
                .append("title", getTitle())
                .append("bankName", getBankName())
                .append("bankAccount", getBankAccount())
                .append("companyAddress", getCompanyAddress())
                .append("taxNumber", getTaxNumber())
                .append("telephone", getTelephone())
                .append("amount", getAmount())
                .append("invoiceType", getInvoiceType())
                .append("status", getStatus())
                .append("channel", getChannel())
                .append("invoiceBus", getInvoiceBus())
                .append("invoiceUrl", getInvoiceUrl())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
